<%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page import="cz.zcu.sefler.dp.business.MonitorManager"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Sledování internetových zdrojů</title>
<link rel="stylesheet" href="./res/style.css" type="text/css">
</head>

<body>
<%
  /* Při prvním otevření stránky vytvoříme jedinou instanci třídy MonitorManager a uložíme ji do application contextu. */
  if (application.getAttribute("monitorManager") == null) {
    application.setAttribute("monitorManager", new MonitorManager(application.getInitParameter("db-machine"), application
        .getInitParameter("db-db"), application.getInitParameter("db-user"), application.getInitParameter("db-pass")));
    /* Zahájíme monitorování již uloženými monitory. */
    ((MonitorManager) application.getAttribute("monitorManager")).startMonitoring();
  }

  /* Uložíme zvlášť aktivní i neaktivní monitory pro jejich vypsání. */
  application.setAttribute("activeMonitorGroups", ((MonitorManager) application.getAttribute("monitorManager")).getActiveMonitorGroups());
  application.setAttribute("nonActiveMonitorGroups", ((MonitorManager) application.getAttribute("monitorManager")).getNonActiveMonitorGroups());
%>
<div id="wrapper">
	<h1 id="logo"><a href=".">Sledování internetových zdrojů</a></h1>
	
	<%-- Vytvoření nové skupiny monitorů. --%>
	<h2>Nový monitor:</h2>
	<form action="NewMonitor" method="post">
		
		<table class="left_padded">
			<tr>
				<td class="text_right"><label for="nm_baseurls">websites:</label></td>
				<td>
					<textarea id="nm_baseurls" name="nm_baseurls" cols="70" rows="10" wrap="off"></textarea>
					<p class="small_grey">(jedna adresa na řádku - oddělujte klávesou ENTER)</p>
					<p class="small_grey">(adresa musí začínat "http://", např.: http://www.novinky.cz/)</p>
				</td>
			</tr>
			<tr>
				<td  class="text_right" rowspan="2">
					<p>procházení website:</p>
				</td>
				<td>
					<input type="radio" id="nm_crawlmode_domain" name="nm_crawlmode" value="1" checked>
					<label for="nm_crawlmode_domain">stránky ve stejné doméně</label>
				</td>
			</tr>
			<tr>
				<td>
					<input type="radio" id="nm_crawlmode_all" name="nm_crawlmode" value="2">
					<label for="nm_crawlmode_all">vše</label>
				</td>
			</tr>
			<tr>
				<td class="text_right"><label for="nm_crawllevel">úroveň vnoření:</label></td>
				<td>
					<input type="text" id="nm_crawllevel" size="5" name="nm_crawllevel" value="0">
					<p class="small_grey">(doporučené hodnoty: 0 až 2)</p>
				</td>
			</tr>
			<tr>
				<td class="text_right"><label for="nm_keywords">klíčová slova:</label></td>
				<td>
					<input type="text" size="80" name="nm_keywords" id="nm_keywords" value="">
					<p class="small_grey">(oddělena čárkou, např.: Obama, Czech Republic, summit)</p>
				</td>
			</tr>
			<tr>
				<td class="text_right" rowspan="2"><p>relevance výsledků:</p></td>
				<td>
					<input type="radio" id="nm_relevancy_high" name="nm_relevancy" value="1" checked>
					<label for="nm_relevancy_high">velká přesnost (5 a více výskytů klíč. slov)</label>
				</td>
			</tr>		
			<tr>
				<td>
					<input type="radio" id="nm_relevancy_low" name="nm_relevancy" value="2">
					<label for="nm_relevancy_low">malá přesnost (1 až 4 výskyty klíč. slov)</label>
				</td>
			</tr>
			<tr>
				<td colspan="2" class="text_center">
					<input type="hidden" name="nm_akce" value="1">
					<input type="submit" class="submit_button_large" value="Vytvořit monitor">
				</td>
			</tr>
		</table>
	</form>

	<%-- Vypsání aktivních skupin monitorů. --%>
	<c:if test="${not empty activeMonitorGroups}">
		<h2>Seznam aktivních monitorů:</h2>
		<c:forEach var="monitorGroup" items="${activeMonitorGroups}">
			<table class="activeMonitors">
				<tr>
					<td colspan="5">
						<c:forEach var="monitor" items="${monitorGroup.monitors}">
							<p><a href="${monitor.basePage.url}">${monitor.basePage.url}</a></p>
						</c:forEach>
					</td>
				</tr>
				<tr>
					<td colspan="5">klíčová slova: 
						<c:forEach var="keyword" items="${monitorGroup.keywords}" varStatus="status">
							<%-- Klíčová slova jsou oddělíme čárkou až na poslední. --%>
							${keyword}${not status.last ? ', ' : ''}
						</c:forEach>
					</td>
				</tr>
				<tr>
					<td>čas vytvoření: ${monitorGroup.createTime}</td>
					<td>prostor hledání: ${monitorGroup.crawlMode}</td>
					<td>úroveň: ${monitorGroup.maxLevel}</td>
					<td>přesnost výsledků: ${monitorGroup.resultRelevancy}</td>
					<td class="deactivate">
					<form action="NewMonitor" method="post">
						<div>
							<input type="hidden" name="nm_akce" value="2">
							<input type="hidden" name="nm_monitor_id" value="${monitorGroup.id}">
							<input type="submit" value="deaktivovat" class="submit_button_small">
						</div>
					</form>
					</td>
				</tr>
			</table>
		</c:forEach>
	</c:if> 
	
	<%-- Vypsání neaktivních skupin monitorů. --%>
	<c:if test="${not empty nonActiveMonitorGroups}">
		<h2>Seznam neaktivních monitorů:</h2>
		<c:forEach var="monitorGroup" items="${nonActiveMonitorGroups}">
			<table class="nonActiveMonitors">
				<tr>
					<td colspan="5">
						<c:forEach var="monitor" items="${monitorGroup.monitors}">
							<p><a href="${monitor.basePage.url}">${monitor.basePage.url}</a></p>
						</c:forEach>
					</td>
				</tr>
				<tr>
					<td colspan="5">klíčová slova: 
						<c:forEach var="keyword" items="${monitorGroup.keywords}" varStatus="status">
							<%-- Klíčová slova jsou oddělíme čárkou až na poslední. --%>
							${keyword}${not status.last ? ', ' : ''}
						</c:forEach>
					</td>
				</tr>
				<tr>
					<td>čas vytvoření: ${monitorGroup.createTime}</td>
					<td>prostor hledání: ${monitorGroup.crawlMode}</td>
					<td>úroveň: ${monitorGroup.maxLevel}</td>
					<td>přesnost výsledků: ${monitorGroup.resultRelevancy}</td>
					<td class="activate">
					<form action="NewMonitor" method="post">
						<div>
							<input type="hidden" name="nm_akce" value="3">
							<input type="hidden" name="nm_monitor_id" value="${monitorGroup.id}">
							<input type="submit" value="aktivovat" class="submit_button_small">
						</div>
					</form>
					</td>
				</tr>
			</table>
		</c:forEach>
	</c:if>
<br>
</div>
</body>
</html>